<!--
 * @Description: 
 * @version: 
 * @Author: 尹鹏孝
 * @Date: 2022-01-19 09:50:19
 * @LastEditors: 尹鹏孝
 * @LastEditTime: 2022-01-19 10:17:16
-->
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>字母异位词</title>
</head>

<body>
    <script>
        // 字母异位词是指由相同的字母按照不同的顺序组成的单词，根据此含义，那么这两个单词的长度也一定相等，所以我们就可以先将两个单词按照字母的大小进行排序，然后比较两个单词对应位置上的字母是否相等。

        /*给定两个字符串 s 和 t ，编写一个函数来判断 t 是否是 s 的字母异位词。
           示例 1: 输入: s = "anagram", t = "nagaram" 输出: true
           示例 2: 输入: s = "rat", t = "car" 输出: false
           说明: 你可以假设字符串只包含小写字母。 
       */

        //    思路：使用26个字母作为中间变量，使用for of 遍历字符串
        var isAnagram = function (s, t) {
            if (s.length != t.length) {
                return false;
            }
            const resSet = new Array(26).fill(0);
            const base = 'a'.charCodeAt();
            for (const i of s) {
                resSet[i.charCodeAt() - base]++;
            }
            for (const i of t) {
                if (!resSet[i.charCodeAt() - base]) {
                    return false;
                }
                resSet[i.charCodeAt() - base]--;

            }

            return true;
        }






    </script>

</body>

</html>